/**
 * @此类用来使成员位置置于地图中间和所有的坐标显示在地图内
 */

class fitBounds {
    constructor(map) {
        this.map = map;
    }

    // 移动到地图中心点
    setCenterInMap(latLng) {
        // console.log(latLng, 'latLng');
        // this.map.setCenter(new TMap.LatLng(latLng[0], latLng[1]));
        this.map.panTo(new TMap.LatLng(latLng[0], latLng[1]), 500);
    }

    // 移动到指定的范围，缩小放大范围    设置地图中心点
    setBoundaryInMap(data, val = false, maxZoom = 12, ) {
        let coords = [];
        console.log(data);
        data.forEach(item => {
            // if (item.lat && item.lon) {
            //     coords.push(new TMap.LatLng(item.lat, item.lon));
            // }
            // else if (item.circleLat && item.circleLon) {
            //     coords.push(new TMap.LatLng(item.circleLat, item.circleLon));
            // } else if (
            //     (item.polygonVertexes && JSON.parse(item.polygonVertexes).length > 2) ||
            //     ''
            // ) {
            //     JSON.parse(item.polygonVertexes).forEach(polyCoors => {
            //         coords.push(new TMap.LatLng(polyCoors[1], polyCoors[0]));
            //     });
            // } else
            if (item.lat && item.lng && item.lat != '') {
                coords.push(new TMap.LatLng(item.lat, item.lng));
            }
        });
        this.map.zoomTo(300, 500);
        //创建LatLngBounds实例
        let latlngBounds = new TMap.LatLngBounds();
        //将坐标传入extend方法，latlngBounds根据传入坐标扩展
        for (var i = 0; i < coords.length; i++) {
            latlngBounds.extend(coords[i]);
        } //调用fitBounds方法，自适应调整地图显示范围
        if (val) {
            this.map.fitBounds(latlngBounds, {
                maxZoom: maxZoom,
            });
        } else {
            this.map.fitBounds(latlngBounds);
        }
    }
}

export default fitBounds;